home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Night Owl 6
/
Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso
/
001a
/
ezzcomm.zip
/
PCBOARD.T
< prev
next >
Wrap
Text File
|
1991-02-16
|
15KB
|
312 lines
: EZ-ZCOMM Copyright 1991 by Roger E. Hough, All Rights Reserved.
: Licensed for use at your own risk without fee. Altered versions,
: when distributed, must be clearly marked as altered and accompanied
: by the originals.
:
: Entry in %ZCUSER.IDS for PCBoard: remote,password,first,last
: remote: argument of "call" command
: password: signon password (required)
: first: first name. Optional: assumed equal to %n1
: last: last name. Optional: assumed equal to %n2
:
: optional entry for conferences to read: remote/conf,i,j,k,...
: where "i,j,k..." represents of list of conference NUMBERS
:
ena -K!Z pf30 p?0 findq "\n%remote," %lib/%ZCUSER.ids
if ? split z0 , , , "";if %z1 goto haveuser
pat;pat 24cp "rz\r**\030" "@rz -mp";while c pf600 wait -f600
ife r nolog close;return
haveuser:
ife !%z2 sets z2 %n1;ife !%z3 sets z3 %n2
display dumb
pat;pat 0 "\rD'Bridge";pat 1 "FrontDoor ";pat 2 "BinkleyT";pat 3 "Press ENTER to load"
inituser:
pat 4 "(Enter)=";pat 5 "[C/R]="
wait -F20;if n bye;ki;ife r nolog close;return
if 0||1 pat;ena -t put \E\E ena -!t goback inituser
if 2 pat;mput \E;goback inituser
if 3 pat;mput \r;goback inituser
ife r w;pat;set s7 "";set s8 ""
if "h(PCBoard)" sets s7 %y;sets s8 %yb;mput \b\b\b\b\bn\r
else if "h(ProLogon)" lput "n\r\n";display inhibit;mput "\b\b\b\b\bn %z2 %z3 %z1 s\r"
pat 0i \n;wait -F20;display noinhibit;ki;if n bye;ife r nolog close;return
display nodumb vt100 8bit
pat;pat 0c \n "@setc z8 \& set z9 0 pf50 ena -f50"
pat 1c ? "@set z9 1 pf1 ena -f1"
pat 2c "to continue" "@set z8 \r set z9 2 pf1 ena -f1"
pat 3c More "@set z8 \r pf1 ena -f1"
pat 4c Command "@setc z8 \&"
pat 5c "[C/R]=" "@set z8 n\r"
pat 6c "(Enter)=" "@set z8 n\r"
pat 7c "irst name" "@sets z8 %z2\r"
pat 8c "ast name" "@sets z8 %z3\r"
pat 9c "assword" "@sets z8 %z1\r"
pat 10c "orrect" "@sets z8 Y\r"
inwait:
setc z8 \& set z9 0 pf50 wait -f50;if !c||iz9,0 bye;ife r nolog close;return
ife iz9,2 mput \r goback inwait;mput \b\b\b\b\b\b\b\b\b\b\b\b\b\b\b
ife %z8 mput %z8 goback inwait;pat;pat 0c \n "@set z8 0 set z9 0 pf30 ena -f30"
pat 1c ? "@set z9 1 pf1 ena -f1";pat 2c Command "@setc z8 1"
pat 3c "oodbye" "@set z7 1";mput "P 0\r" set z7 0
plwait:
set z8 0 set z9 0 pf30 wait -f30;if !c||iz9,0 bye;ife r nolog close;return
mput \b\b\b\b\b\b\b\b\b\b\b\b\b\b\b;if iz8,0 mput \r goback plwait
if iz7,0 goto xmdone
pat;pat 0c \n "@set z8 0 set z9 0 pf30 ena -f30"
pat 1c ? "@set z9 1 pf1 ena -f1";pat 2c Command "@setc z8 1"
pat 3c "ode ON" "@set z7 1";pat 4c "ODE ON" "@set z7 1"
pat 5c "ode On" "@set z7 1";pat 6c "mode is now on" "@set z7 1"
mput X\r
xmwait:
set z7 0 set z8 0 set z9 0 pf30 wait -f30;if !c||iz9,0 bye;ife r nolog close;return
mput \b\b\b\b\b\b\b\b\b\b\b\b\b\b\b;if iz8,0 mput \r goback plwait
if iz7,0 mput X\r goback xmwait
xmdone:
ife %s7 goto iddone;pat;pat 0c \n "@set z8 0 set z9 0 pf30 ena -f30"
pat 1c ? "@set z9 1 pf1 ena -f1";pat 2c Command "@setc z8 1";mput I\r
idwait:
set z7 0 set z8 0 set z9 0 pf30 wait -f30;if !c||iz9,0 bye;ife r nolog close;return
mput \b\b\b\b\b\b\b\b\b\b\b\b\b\b\b;if iz8,0 mput \r goback idwait
if "h(^PCBoard)" sets s7 %y sets s8 %yb
iddone:
set s4 ZIP set s5 0 set s6 ALL p?0 findq "\n%remote/conf," %lib/%ZCUSER.ids
if "!js7,14.5" if "!js7,14.6" if "!js7,14.7" if "!js7,14.8" if "!js7,14.9" if "!js7,15." if "!js7,16." set s4 CAP
set z1 "" ife ? split z0 , , "";if !%z1 ife is4,ZIP goto razall;goto next
setc s5 \L%z1 setc s6 \L%z2;if is4,CAP goto next
razconf:
ife %s5==1 sets s5 0%s5;ife f%n8/%remote%s5.* goto next;split s6 , ""
ife %z0 sets s6 %z1 sets s5 %z0 goback razconf;else goto last
razall:
setn z0 s5/10 setn z1 z0*10 setn z1 s5-z1
razaloop:
while az0<10&&!f%n8/%remote%z0?.* setn z0 z0+1 set z1 0
ife az0==10 goto last;while az1<10&&!f%n8/%remote%z0%z1.* setn z1 z1+1
ife az1==10 setn z0 z0+1 set z1 0 goback razaloop;sets s5 %z0%z1
next:
set z7 0 pat;pat 0c \n "@set z8 0 set z9 0 pf30 ena -f30"
pat 1c ? "@set z9 1 pf1 ena -f1";pat 2c Command "@set z8 1"
pat 3c "[C/R]=" "@if az8<2 set z8 2";pat 4c "(Enter)=" "@if az8<2 set z8 2"
pat 5c "Conference # to join" "@set z8 3"
pat 6c "nvalid " "@set z7 2"
if as5==0 mput A\r pat 7c "Main Board" "@set z7 1"
else mput "J %s5\r" pat 7c "Joined" "@set z7 1";pat 8c "Welcome to" "@set z7 1"
jcwait:
set z8 0 set z9 0 pf30 wait -f30;if !c||iz9,0 bye;ife r nolog close;return
mput \b\b\b\b\b\b\b\b\b\b\b\b\b\b\b;ife iz8,0 mput \r goback jcwait;if iz8,3 mput \r goback jcwait
ife iz8,2 mput n\r goback jcwait;ife iz7,2 goto last;if iz7,0 goto skip
pf30 if %s5==1 sets s5 0%s5
if f%n8/%remote%s5.* expand %lib/pcbmail.t %n8/%remote%s5.*
if !c bye;ife r nolog close;return
ife is4,CAP goto rscap;if !is6,ALL goto razcnxt
setn s5 s5+1 setn z0 s5/10 setn z1 z0*10 setn z1 s5-z1
razcloop:
while az0<10&&!f%n8/%remote%z0?.* setn z0 z0+1 set z1 0
ife az0==10 goto last;while az1<10&&!f%n8/%remote%z0%z1.* setn z1 z1+1
ife az1==10 setn z0 z0+1 set z1 0 goback razcloop;sets s5 %z0%z1 goback next
razcnxt:
split s6 , "";sets s6 %z1 sets s5 %z0 ife %s5==1 sets s5 0%s5 ife f%n8/%remote%s5.* goto next;else goback razcnxt
rscap:
pat;mput "r s ns\r";pat 0i \n;pf30 wait -f30;if n bye;ife r nolog close;return
ife r nolog close;ki;create -+S %n9/%remote%s5.log
pat;pat 0c \n "@ki set z7 0 set z8 0 set z9 0 pf30 ena -f30"
pat 1c ? "@set z9 1 pf1 ena -f1";pat 2i "Date:" "@set z9 2"
pat 3c "Command" "@set z8 1";pat 4c "Mail" "@set z7 1"
pat 5c "Main Board" "@set z7 2";setn z9 s5+0
pat 6c "Conference" "@set z7 2";pat 7c "(%z9)" "@set z7 2"
pat 8c "[N]ext, [" "@set z6 1"
rswait:
set z7 0 set z8 0 set z9 0 pf30 wait -f30
if !c||iz9,0 bye;ife r nolog close;return
if iz9,2 set z6 0 pat 0c \n "@ife iz6,0 w;set z6 0 set z7 0 set z8 0 set z9 0 pf30 ena -f30";pat 2c "";goback rswait
ki;ife r nolog close;create -+S %n9/ZC%d%ano.LOG
pat 0c \n "@set z7 0 set z8 0 set z9 0 pf30 ena -f30";pat 2c ""
mput \b\b\b\b\b\b\b\b\b\b\b\b\b\b\b
ife iz8,0 mput \r;else ife iz7,2 goto skip;ife iz7,1 mput quit;mput \r
rcwait:
set z7 0 set z8 0 set z9 0 pf30 wait -f30;if !c||iz9,0 bye;ife r nolog close;return
mput \b\b\b\b\b\b\b\b\b\b\b\b\b\b\b
ife iz8,0 mput \r goback rcwait;else ife iz7,2 goto skip;ife iz7,1 mput quit;mput \r
skip:
ife is6,ALL setn s5 s5+1 goback next;split s6 , "";sets s5 %z0;sets s6 %z1;if %s5 goback next
last:
pat;pat 0c \n "@set z7 0 set z8 0 set z9 0 pf30 ena -f30"
pat 1c ? "@set z9 1 pf1 ena -f1";pat 2c "Command" "@set z8 1"
pat 3c "[C/R]=" "@set z8 2";pat 4c "(Enter)=" "@set z8 2";mput A\r
rlwait:
set z7 0 set z8 0 set z9 0 pf30 wait -f30;if !c||iz9,0 bye;ife r nolog close;return
mput \b\b\b\b\b\b\b\b\b\b\b\b\b\b\b;ife iz8,0 mput \r goback rlwait;ife iz8,2 mput n\r goback rlwait
ife is4,CAP goto raznone;pat;pat 0c \n "@set z8 0 set z9 0 pf40 ena -f40"
pat 1c ? "@set z9 1 pf1 ena -f1"
pat 2c "Command" "@set z8 1"
pat 3l "borts Transfer\r" "@set z9 2"
pat 4l " to Abort.\r" "@set z9 2"
pat 5l " to abort.\r" "@set z9 2"
pat 6c rotocol "@set z8 2"
pat 7c ")tart" "@set z8 3"
pat 11c "(Y)" "@if Jz6,c set z6 y"
pat 12c "(O)" "@if Jz6,cy set z6 o"
pat 13c "(Z)" "@set z6 z"
pat 14c Xmodem-CRC "@set z7 rc\040%z5"
pat 15c "CRC Xmodem" "@set z7 rc\040%z5"
pat 16c Ymodem "@set z7 rc\040%z5"
pat 17c 1K-Xmodem "@set z7 rc\040%z5"
pat 19c Zmodem "@setc z7 \&"
pat 20i "rz\r**\030" "@set z7 rz\040-ym\040%z5;set z9 2"
sets z5 %tmp/%remote.zip;ife f%z5 del %z5;mput "R A Z\r"
razwait:
set z6 c set z7 rc set z8 0 set z9 0 pf40 wait -f40
if !c||iz9,0 bye;ife r nolog close;return
if iz9,2 ife %z7 goto razdl;goback razwait
mput \b\b\b\b\b\b\b\b\b\b\b\b\b\b\b;if iz8,1 goto razdone
if iz8,2 sets s0 %z6 split y1 = ? "";setc z1 \L%z1 ife "%z1!=1||!Jz1,cyoz" mput %s0;mput \r goback razwait
ife iz8,3 mput s\r goback razwait;mput \r goback razwait
razdl:
sets s2 %plog;if %plog setc plog "%n9/%remote\&xf.log"
sets s1 %dirrx;sets dirrx "";obey %z7
sets dirrx %s1;sets plog %s2;goback razwait
razdone:
if f%z5 obey "!~PKUNZIP -c %z5 *.cap |PCB2LOG %n9/%remote"
if f%z5 del %z5
raznone:
ulcheck:
if !f%n8/%remote.ul goto ulnone
: Upload files listed in <bbs>.ul as follows: filename.ext,description1;description2;description3
: description2 and description3 are optional
: description lines are from 12 to 45 characters in length.
display inhibit;open -!g %n8/%remote.ul;display noinhibit;ife t goto ulrdln;goto uldone
ulrdnv:
echoc "Invalid upload entry!";echoc \T%s1
ulrdln:
setc z9 \032 grab s1 ife !t goto uldone;if Is1,z9 closetx goto uldone
split s1 ", " "";ife "%z0<3||%z0>12||Jz0,*?()%" goback ulrdnv;if "!f%dirsx/%z0" goback ulrdnv
split z1 ";" "";ife "%z0<12" goback ulrdnv;while "%z0&&%z0<46" split z1 ";" ""
ife %z0 goback ulrdnv;pat;set s2 "" set s3 "" set s4 "" set s5 0 mput U\r
pat 0c \n "@set z8 0 set z9 0 pf50 ena -f50"
pat 1c ? "@set z9 1 pf1 ena -f1"
pat 2c "Command" "@set z8 1"
pat 3l "borts Transfer\r" "@set z9 2"
pat 4l " to Abort.\r" "@set z9 2"
pat 5l " to abort.\r" "@set z9 2"
pat 6c rotocol "@set z8 2"
pat 7c ")tart" "@set z8 3"
pat 8c "ilespec" "@set z8 4 set z9 1 pf1 ena -f1"
pat 9c "ilename" "@set z8 4 set z9 1 pf1 ena -f1"
pat 10c "(K)" "@if iz6,c set z6 k"
pat 11c "(Y)" "@if Jz6,ck set z6 y"
pat 12c "(O)" "@if Jz6,cky set z6 o"
pat 13c "(Z)" "@set z6 z"
pat 14c Xmodem-CRC "@set z7 sx"
pat 15c "CRC Xmodem" "@set z7 sx"
pat 16c Ymodem "@set z7 sx\040-k"
pat 17c 1K-Xmodem "@set z7 sx\040-k"
pat 18c Kermit "@set z7 send"
pat 19c Zmodem "@set z7 sz\040-km"
ulwait:
set z6 c set z7 sx set z8 0 set z9 0 pf50 wait -f50
if !c||iz9,0 bye;ife r nolog close;return
if iz9,2 ife !0 goback ulwait;ife !%s4 sets s4 %s2 set s2 "";obey "%z7 \T%s4";goback ulwait
mput \b\b\b\b\b\b\b\b\b\b\b\b\b\b\b
if iz8,1 ife !t goto uldone;set s2 "" set s3 "" set s4 "" set s5 0 mput u\r goback ulwait
if iz8,2 sets s0 %z6 split y1 = ? "";setc z1 \L%z1 ife "%z1!=1||!Jz1,ckyoz" mput %s0;mput \r goback ulwait
ife iz8,3 mput s\r goback ulwait;if iz8,4 goto ulfnmput
if %s2 set? z0 f%dirsx/%s2 sets s4 "%s4 %s2" set s2 "" setn s5 s5+z0
split s3 ";" "";sets s3 %z1 mput \T%z0 mput \r goback ulwait
ulfnmput:
ife "!t||%s4>100" set s2 "" mput \r goback ulwait;split s1 ", " ""
if %s4 set? z2 f%dirsx/%z0 setn z2 z2+s5 if "az2>768" set s2 "" mput \r goback ulwait
sets s2 %z0 sets s3 %z1 mput \T%z0 mput \r
ulfnrdnx:
setc z9 \032 grab s1 ife !t goback ulwait;if Is1,z9 nolog closetx goback ulwait
split s1 ", " "";ife "%z0<3||%z0>12||Jz0,*?()%" goto ulfnrdnv;if "!f%dirsx/%z0" goto ulfnrdnv
split z1 ";" "";ife "%z0<12" goto ulfnrdnv;while "%z0&&%z0<46" split z1 ";" ""
if !%z0 goback ulwait
ulfnrdnv:
echoc "Invalid upload entry!";echoc \T%s1;goback ulfnrdnx
uldone:
del %n8/%remote.ul
ulnone:
gosub .%lib/agelist.t;if as0<14 goto lfnone
pat;mput l\r
pat 0c \n "@set z8 0 set z9 0 pf40 ena -f40"
pat 1c ? "@set z9 1 pf1 ena -f1"
pat 2c "Command" "@set z8 1"
pat 3c "iles" "@set z8 2"
pat 4c "irector" "@set z8 2"
pat 5c "search" "@set z8 3"
pat 6c "Search" "@set z8 3"
pat 7c "ildcard" "@set z8 3"
pat 8l Scanning "@set z9 2"
pat 9l Ctrl "@set z9 2"
pat 10l CTRL "@set z9 2"
lfwait:
set z8 0 set z9 0 pf40 wait -f40;if !c||iz9,0 bye;ife r nolog close;return
ife iz9,2 goto lflist;mput \b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b
if iz8,0 mput \r goback lfwait;ife iz8,1 goto lfnone
ife iz8,2 mput a\r goback lfwait;mput "*.*\r" goback lfwait
lflist:
ki;create -y %n7/%remote.lst
if r split t " ";echof "\T%telno %s8";echof "\T%s7 %z1"
pat;pat 0c \n "@set z8 0 set z9 0 pf40 ena -f40"
pat 1c ? "@set z9 1 pf1 ena -f1";pat 2c Command "@set z8 1"
ldwait:
set z8 0 set z9 0 pf40 wait -f40;if !c||iz9,0 bye;ife r nolog close;return
mput \b\b\b\b\b\b\b\b\b\b\b\b\b\b\b if iz8,0 mput \r goback ldwait
if r closerx obey "!~NLTRIM %n7/%remote.lst"
lfnone:
ki;create -+ %n9/ZC%d%ano.LOG
if !f%n8/%remote.dl goto dlnone
: download files listed in <bbs>.dl as follows: filename.ext
display inhibit;open -!g %n8/%remote.dl;display noinhibit;ife t goto dlrdln;goto dldone
dlrdnv:
echoc "Invalid download entry!";echoc \T%s1
dlrdln:
setc z9 \032 grab s1 ife !t goto dldone;if Is1,z9 closetx goto dldone
split s1 ", " "";ife "%z0<3||%z0>12||Jz0,*?()%" goback dlrdnv;if "f%dirrx%z0" goback dlrdnv
pat;set s2 "" mput D\r
pat 0c \n "@set z8 0 set z9 0 pf40 ena -f40"
pat 1c ? "@set z9 1 pf1 ena -f1"
pat 2c "Command" "@set z8 1"
pat 3l "borts Transfer\r" "@set z9 2"
pat 4l " to Abort.\r" "@set z9 2"
pat 5l " to abort.\r" "@set z9 2"
pat 6c rotocol "@set z8 2"
pat 7c ")tart" "@set z8 3"
pat 8c "ilespec" "@set z8 4 set z9 1 pf1 ena -f1"
pat 9c "ilename" "@set z8 4 set z9 1 pf1 ena -f1"
pat 10c "(K)" "@if iz6,c set z6 k"
pat 11c "(Y)" "@if Jz6,ck set z6 y"
pat 12c "(O)" "@if Jz6,cky set z6 o"
pat 13c "(Z)" "@set z6 z"
pat 14c Xmodem-CRC "@set z7 rc\040%s2"
pat 15c "CRC Xmodem" "@set z7 rc\040%s2"
pat 16c Ymodem "@set z7 rc\040%s2"
pat 17c 1K-Xmodem "@set z7 rc\040%s2"
pat 18c Kermit "@set z7 \040"
pat 19c Zmodem "@set z7 \040"
pat 20c "rz\r**\030" "@rz -mp"
dlwait:
set z6 c set z7 rc set z8 0 set z9 0 pf40 wait -f40
if !c||iz9,0 bye;ife r nolog close;return
if iz9,2 ife 0 obey %z7;goback dlwait
mput \b\b\b\b\b\b\b\b\b\b\b\b\b\b\b
if iz8,1 ife !t goto dldone;set s2 "" mput d\r goback dlwait
if iz8,2 sets s0 %z6 split y1 = ? "";setc z1 \L%z1 ife "%z1!=1||!Jz1,ckyoz" mput %s0;mput \r goback dlwait
ife iz8,3 mput s\r goback dlwait;if iz8,0 mput \r goback dlwait
if !t set s2 "" mput \r goback dlwait
split s1 ", " "";sets s2 %z0 mput \T%z0 mput \r
dlfnrdnx:
setc z9 \032 grab s1 ife !t goback dlwait;if Is1,z9 nolog closetx goback dlwait
split s1 ", " "";if "%z0>2&&%z0<13" if "!Jz0,*?()%" if "!f%dirrx%z0" goback dlwait
dlfnrdnv:
echoc "Invalid download entry!";echoc \T%s1;goback dlfnrdnx
dldone:
del %n8/%remote.dl
dlnone:
if f%lib/%remote.t gosub .%lib/%remote.t
if !c bye;ife r nolog close;return
pat;lput "\r\n%n1, press alt-N if you want to run the session manually.\r\n"
pat;pat 24cp "rz\r**\030" "@rz -mp";wait -F5;if !c bye;ife r nolog close;return
pat 0c "Press (Enter) to continue?" \r
pat 1c "Proceed with logoff?" Y\r
mput "\b\b\b\bg\r";wait -F35;ife c bye;ife r nolog close;return